]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
pressure-barrier: don't discard grabbed events when overview is grabbing
authorCosimo Cecchi <cosimoc@gnome.org>
Sat, 16 Feb 2013 21:17:11 +0000 (16:17 -0500)
committerCosimo Cecchi <cosimoc@gnome.org>
Sun, 17 Feb 2013 18:12:55 +0000 (13:12 -0500)
Since we still want to trigger the message tray in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=693987

js/ui/layout.js

index f6443edbc7e2225fb845991ed525ab6cf311b35f..d181bf6ac85d0fdddc80555c49af0fc3fd5983e2 100644 (file)
@@ -1195,10 +1195,16 @@ const PressureBarrier = new Lang.Class({
     },
 
     _onBarrierHit: function(barrier, event) {
-        // Throw out all events where the pointer was grabbed,
-        // as the client that grabbed the pointer expects to have
-        // complete control over it.
-        if (event.grabbed)
+        // Throw out all events where the pointer was grabbed by another
+        // client, as the client that grabbed the pointer expects to have
+        // complete control over it
+        if (event.grabbed && Main.modalCount == 0)
+            return;
+
+        let isOverview = ((Main.keybindingMode & (Shell.KeyBindingMode.OVERVIEW)) != 0);
+
+        // Throw out events where the grab is taken by the overview visible
+        if (event.grabbed && !isOverview)
             return;
 
         let slide = this._getDistanceAlongBarrier(event);